#!/usr/bin/perl 

#Les formes graphiques choisi
@forme=("le","de","les","des","du");
@fichiers=("p96.bal","p96.fic","p96.tab","p96.tag");
#Un nombre donnÃ©e comme entrÃ©e du programme
print "Donnez le nombre autour de pole :\n";
$nbre_pole = <STDIN>;
#preparer la sortie html
open(OUT,">sortie.html");
print OUT "<html><body style=\"color:white;\" bgcolor=\"black\">";
$i=0;
while ($forme[$i])
{
  $m=0;
  my $pole = $forme[$i]; 
  while ($fichiers[$m])
{
open(FILEIN, $fichiers[$m]);
print OUT "<p align=\"center\" style=\"color:yellow;\"> \"$pole\" avec les mots autour dans le fichier $fichiers[$m]</p>";
print OUT "<center><table bgcolor=\"black\" border=1 style=\"border-color:green;\" >";
print OUT "<tr><td style=\"color:red;\">contexte gauche</td><td style=\"color:red;\">pole</td><td style=\"color:red;\">contexte droite</td></tr>";
while (my $ligne=<FILEIN>)
{
	
	while ($ligne=~/$pole/gi)
	{
		my $cg=$`;
		my $p=$&;
		my $cd=$';
		
		if (($cg eq "")||($cg=~/^[ ]+$/))
		    {
		      $cg="&nbsp;";
		    }
		else
		    {
		      @tab_cg = split(/ /,$cg);
		      $cg2="";
		      for(my $k=0; $k<$nbre_pole; $k++)
		      {
			 # print 
			$cg2.= $tab_cg[$k];
		      }
		    }
		if (($cd eq "")||($cd=~/^[ ]*$/))
		    {
		      $cd="&nbsp;";
		    }
		else
		    {
			$cd2="";
			@tab_cd = split(/ /,$cd);
			for(my $k=0; $k<$nbre_pole; $k++)
			{
			    $cd2.=$tab_cd[$k];
			}
		    }
		if(($cg2 ne "") && ($cd2 ne ""))
		{
		    print OUT "<tr><td>$cg2</td><td>$p</td><td>$cd2</td></tr>";
		}
 		elsif(($cg2 ne "") && ($cd2 eq ""))
 		{
 		    print OUT "<tr><td>$cg2</td><td>$p</td><td></td></tr>";
 		}
		elsif(($cg2 eq "") && ($cd2 ne ""))
		{
		    print OUT "<tr><td></td><td>$p</td><td>$cd2</td></tr>";
		}
	}
 
 }
print OUT "</table></center>";
$m+=1;
close(FILEIN);
}
$i=$i+1;
}
print OUT "</body></html>";

close(OUT);